“Cloud computing” is fast becoming a viable computing model for both small and large enterprises. The “cloud” typifies a computing style in which dynamically scalable and often virtualized resources are provided as a service over the Internet. The term itself is a metaphor. As is known, the cloud infrastructure permits treating computing resources as utilities automatically provisioned on demand while the cost of service is strictly based on the actual resource consumption. Consumers of the resource also leverage technologies from the cloud that might not otherwise be available to them, in house, absent the cloud environment.
As with any new paradigm, considerable discussion is taking place regarding how best to utilize the environment. As one example, there has been recent interest in leveraging the public/private cloud infrastructure to make portable the workloads of traditional data centers. In such situations, workload migration amongst host computing devices has been viewed as an “off-line” operation. It is traditionally performed very infrequently and several tools have been developed to assist in moving one workload from one host to another. However, clouds and other computing environments are not always consistent in their selection of computing platforms. Not only does this implicate the operating systems and physical hardware from one box to the next, but also the selections of operating systems and hypervisors in virtual environments.
Consider, for instance, a Linux based workload that is hosted on a VmWare based virtualization host. If this workload requires future migration to a Xen based virtualization host, the following represents the baseline set of tasks requiring performance. One, image and configuration information must be transformed from the originating host to the target host. While it is possible that this is only an optional step, this is only available in situations in which the two virtualization hosts under question can support a common or multiple image formats. Two, provision the image for deployment on the target virtualization platform. This involves configuring front-end para-virtualization drivers which customizes the guest image for optimal performance on the target platform. Similarly, workload migration occurs between physical to physical devices, or virtual to physical devices, as well, and various other one-time activities are also required.
Accordingly, a need exists for better managing workload migration in heterogeneous computing environments. Appreciating the commoditization of hypervisors in recent times, the need further contemplates a dynamic scheme for deploying workloads on chosen hosts in a cloud or other data center environment, with the realization that workloads may be re-deployed on vastly different hypervisors compared to prior deployments. Any improvements along such lines should contemplate good engineering practices, such as simplicity, ease of implementation, unobtrusiveness, stability, etc.